package com.atguigu.jxc.dao;

import com.atguigu.jxc.domain.SaleCountVo;
import com.atguigu.jxc.entity.SaleData;
import com.atguigu.jxc.entity.SaleList;

import java.util.List;
import java.util.Map;

public interface SaleListDao {
    //保存销售订单
    void insertSaleList(SaleList saleList);
    //根据saleNumber 查询 SaleList
    SaleList getSaleListByNumber(String saleNumber);
    //3.1、销售单查询（可查询条件：销售单号、客户、付款状态）
    List<SaleList> selectSaleList(String saleNumber, Integer customerId, Integer state, String sTime, String eTime);
    //删除销售单
    void removeSaleList(Integer saleListId);
    //2.1、支付结算（修改销售单付款状态）
    //将state 改为1（未付 或未退 改为 已付 已退） 实付金额 改为 应付金额
    void updateSaleList(Integer saleListId);
    //4.1、销售统计（可根据 商品类别、商品编码或名称 条件查询）
    List<SaleCountVo> countSaleListGoods(String sTime, String eTime, Integer goodsTypeId, String codeOrName);
    //5.1、按日统计  销售订单 接口
    List<SaleData> selectSaleDataByDay(String sTime, String eTime);
    //6.1、按月统计接口
    List<SaleData> selectSaleDataByMonth(String sTime, String eTime);
}
